rlx input variables¶
This document lists and provides the description of the name (keywords) of the rlx input variables to be used in the input file for the abinit executable.
adpimd¶
Mnemonics: ADiabatic PathIntegral Molecular Dynamics
Mentioned in topic(s): topic_PIMD
Variable type: integer
Dimensions: scalar
Default value: 0
Only relevant if: imgmov == 9 or imgmov == 13
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v7: t08.abi
Controls whether adiabatic PathIntegral Molecular Dynamics is performed or not. The corresponding adiabaticity parameter is given by adpimd_gamma.
If equal to 0, no adiabatic PathIntegral Molecular Dynamics (standard PIMD) is performed. If equal to 1, adiabatic PathIntegral Molecular Dynamics is activated. Only relevant with pitransform = 1 (normal mode transformation). In that case,
 the mass associated with the zerofrequency mode is the true mass amu,
 the mass associated to the other higher frequency modes of the polymer chains is equal to the normal mode mass divided by adpimd_gamma (adiabaticity parameter),
 the equation of motion on the zerofrequency mode is not thermostated.
NOT YET USABLE
adpimd_gamma¶
Mnemonics: ADiabatic PathIntegral Molecular Dynamics: GAMMA factor
Mentioned in topic(s): topic_PIMD
Variable type: real
Dimensions: scalar
Default value: 1
Only relevant if: adpimd == 1 and imgmov in [9,13]
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v7: t08.abi
Adiabaticity parameter to be used in adiabatic PathIntegral Molecular Dynamics. NOT YET USABLE
amu¶
Mnemonics: Atomic Mass Units
Characteristics: EVOLVING
Mentioned in topic(s): topic_PIMD, topic_Phonons, topic_AtomTypes, topic_Artificial
Variable type: real
Dimensions: (ntypat)
Default value: None
Comment: Defaults provided by a database of atomic masses.
Added in version: before_v9
Test list (click to open). Moderately used, [78/1095] in all abinit tests, [0/151] in abinit tutorials
 bigdft: t23.abi, t31.abi, t32.abi …
 bigdft_paral: t01.abi, t01.abi …
 builtin: testin_wannier90.abi …
 etsf_io: t21.abi …
 fast: t21.abi, t29.abi …
 gpu: t01.abi …
 mpiio: t69.abi, t69.abi …
 paral: t41.abi, t53.abi, t53.abi …
 seq: tsv2_82.abi …
 v1: t86.abi …
 v2: t01.abi, t03.abi, t04.abi …
 v3: t06.abi, t07.abi, t08.abi …
 v4: t02.abi, t56.abi …
 v5: t09.abi, t29.abi, t48.abi …
 v6: t31.abi, t32.abi …
 v7: t08.abi, t11.abi …
 v8: t05.abi …
 wannier90: t00.abi, t01.abi, t02.abi …
Gives the masses in atomic mass units for each kind of atom in the input cell. These masses are used in performing molecular dynamical atomic motion if ionmov = 1, 6, 7 or 8. They are also used in phonon calculations during the diagonalization of the dynamical matrix. Note that one may set all masses to 1 for certain cases in which merely structural relaxation is desired and not actual molecular dynamics.
Using the recommended values of [Martin1987], 1 atomic mass unit = 1.6605402e27 kg. In this unit the mass of Carbon 12 is exactly 12.
A database of atomic masses is provided which provides the default values. Note that the default database uses mixed isotope masses (for Carbon the natural occurrence of Carbon 13 is taken into account). The values are those recommended by the commission on Atomic Weights and Isotopic Abundances, Inorganic Chemistry Division, IUPAC [Martin1987]. For Tc, Pm, Po to Ac, Pa and beyond U, none of the isotopes have a halflife greater than 3.0d10 years, and the values provided in the database do not come from that source.
For alchemical pseudoatoms, the masses of the constituents atoms are mixed, according to the alchemical mixing coefficients mixalch
In most cases, the use of amu will be as a static (nonevolving) variable. However, the possibility to have different values of amu for different images has been coded. A population of cells with different atomic characteristics can thus be considered, and can be made to evolve, e.g. with a genetic algorithm (not coded in v7.0.0 though).
bmass¶
Mnemonics: Barostat MASS
Mentioned in topic(s): topic_MolecularDynamics
Variable type: real
Dimensions: scalar
Default value: 10
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v5: t01.abi
bmass is the mass of the barostat when ionmov = 13 (constant pressure molecular dynamics)
chkdilatmx¶
Mnemonics: CHecK DILATMX
Mentioned in topic(s): topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [8/1095] in all abinit tests, [0/151] in abinit tutorials
If 0, the code will not stop execution if the threshold of dilatmx is exceeded, it will simply issue a warning. There will be no rescaling. If 1, after tentative rescaling as described in dilatmx, the code will stop execution. Also, the use of chkdilatmx = 0 allows one to set dilatmx to a larger value than 1.15, otherwise forbidden as being a waste of CPU and memory.
So, when using chkdilatmx =0, the relaxed lattice parameters might not be accurate, but will simply better than the starting ones.
chkdilatmx =0 is useful when the starting geometry is likely very inaccurate. However, if the user is in search of an accurate geometry estimation, then a first determination of the (better but inaccurate) geometry with chkdilatmx =0 should be followed by a more accurate second run from the better geometry with chkdilatmx =1 and dilatmx slightly larger than 1, (possibly 1.05).
cineb_start¶
Mnemonics: ClimbingImage Nudged Elastic Band: STARTing iteration
Mentioned in topic(s): topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: 7
Only relevant if: imgmov == 5 and neb_algo == 2
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t29.abi
Gives the index of the first CINEB iteration. The CINEB method constitutes a small modification to the NEB method allowing a rigorous convergence to the saddle point. As the image with the highest energy has to be identified, the calculation begins with several iterations of the standard NEB algorithm. The effective CINEB begins at the cineb_start iteration. See [Henkelman2000a] for additional details of this method.
delayperm¶
Mnemonics: DELAY between trials to PERMUTE atoms
Mentioned in topic(s): topic_MolecularDynamics
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Delay (number of time steps) between trials to permute two atoms, in view of accelerated search of minima. Still in development.
See the routine moldyn.F90 and signperm for additional information.
When delayperm is zero, there are no permutation trials.
diismemory¶
Mnemonics: Direct Inversion in the Iterative Subspace MEMORY
Mentioned in topic(s): topic_MolecularDynamics
Variable type: integer
Dimensions: scalar
Default value: 8
Added in version: before_v9
Test list (click to open). Rarely used, [0/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the maximum number of “time” steps for which the forces and stresses are stored, and taken into account in the DIIS algorithm (ionmov = 20) to find zeroforce and stress configurations.
dilatmx¶
Mnemonics: lattice DILATation: MaXimal value
Mentioned in topic(s): topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 1.0
Added in version: before_v9
Test list (click to open). Moderately used, [69/1095] in all abinit tests, [15/151] in abinit tutorials
 gpu: t04.abi …
 mpiio: t22.abi, t24.abi …
 paral: t22.abi, t24.abi, t26.abi …
 psml: t03.abi, t04.abi, t07.abi …
 seq: tsv6_121.abi, tsv6_122.abi, tsv6_123.abi …
 tutorespfn: telast_1.abi, telast_6.abi, tffield_1.abi …
 tutorial: tbase3_4.abi, tbase4_1.abi, tbase4_2.abi …
 v1: t77.abi, t78.abi, t79.abi …
 v2: t44.abi, t96.abi, t97.abi …
 v3: t06.abi, t42.abi …
 v4: t02.abi, t59.abi, t79.abi …
 v5: t01.abi, t77.abi, t79.abi …
 v6: t21.abi, t27.abi, t30.abi …
 v7: t10.abi, t97.abi, t98.abi …
 vdwxc: t10.abi …
dilatmx is an auxiliary variable used to book additional memory (see detailed description later) for possible ontheflight enlargement of the plane wave basis set, due to cell volume increase during geometry optimization by ABINIT. Useful only when doing cell optimization, e.g. optcell/=0, usually with ionmov == 2 or 22. Supposing that the starting (estimated) lattice parameters are already rather accurate (or likely to be too large), then the recommended value of dilatmx is 1.05. When you have no idea of evolution of the lattice parameters, and suspect that a large increase during geometry optimization is possible, while you need an accurate estimation of the geometry, then make a first run with chkdilatmx=0, producing an inaccurate, but much better estimation, followed by a second run using the newly estimated geometry, with chkdilatmx=0 and dilatmx set to 1.05. If you are not in search of an accurate estimation of the lattice parameters anyhow, then run with chkdilatmx=0 only once.
In the default mode (chkdilatmx = 1), when the dilatmx threshold is exceeded, ABINIT will rescale uniformly the tentative new primitive vectors to a value that leads at most to 90% of the maximal allowed dilatmx deviation from 1. It will do this three times (to prevent the geometry optimization algorithms to have taken a too large trial step), but afterwards will stop and exit. Setting chkdilatmx == 0 allows one to book a larger planewave basis, but will not rescale the tentative new primitive vectors nor lead to an exit when the dilatmx threshold is exceeded. The obtained optimized primitive vectors will not be exactly the ones corresponding to the planewave basis set determined using ecut at the latter primitive vectors. Still, as an intermediate step in a geometry search this might be sufficiently accurate. In such case, dilatmx might even be let at its default value 1.0.
Detailed explanation: The memory space for the planewave basis set is defined by multiplying ecut by dilatmx squared (the result is an “effective ecut”, called internally “ecut_eff”). Other uses of ecut are not modified when dilatmx > 1.0. Still, operations (like scalar products) are done by taking into account these fake (nonused) planewaves, even if their coefficients are set to zero, thus slowing down the ABINIT execution. Using dilatmx <1.0 is equivalent to changing ecut in all its uses. This is allowed, although its meaning is no longer related to a maximal expected scaling.
Setting dilatmx to a large value leads to waste of CPU time and memory. By default, ABINIT will not accept that you define dilatmx bigger than 1.15. This behaviour will be overcome by using chkdilatmx == 0. Supposing you think that the optimized acell values might be 5% larger than your input values, use simply dilatmx 1.05. This will lead to an increase of the number of planewaves by a factor (1.05)^3, which is about 1.158, and a corresponding increase in CPU time and memory. It is possible to use dilatmx when optcell =0, but a value larger than 1.0 will be a waste.
dtion¶
Mnemonics: Delta Time for IONs
Mentioned in topic(s): topic_PIMD, topic_MolecularDynamics, topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 100
Added in version: before_v9
Test list (click to open). Moderately used, [23/1095] in all abinit tests, [1/151] in abinit tutorials
Used for controlling ion time steps. If ionmov is set to 1, 6, 7 and 15, then molecular dynamics is used to update atomic positions in response to forces. The parameter dtion is a time step in atomic units of time. (One atomic time unit is 2.418884e17 seconds, which is the value of Planck’s constant in hartree*sec.) In this case the atomic masses, in amu (given in array ” amu “), are used in Newton’s equation and the viscosity (for ionmov =1) and number of time steps are provided to the code using input variables “vis” and “ntime”. The code actually converts from masses in amu to masses in atomic units (in units of electron masses) but the user enters masses in amu. (The conversion from amu to atomic units (electron masses) is 1822.88851 electron masses/amu.)
A typical good value for dtion is about 100. The user must try several values for dtion in order to establish the stable and efficient choice for the accompanying amu, atom types and positions, and vis (viscosity). For quenched dynamics (ionmov = 7), a larger time step might be taken, for example 200. No meaning for RF calculations. It is also used in geometric relaxation calculation with the FIRE algorithm (ionmov=15), where the time is virtual. A small dtion should be set, for example 0.03.
dynimage¶
Mnemonics: list of DYNamic IMAGEs
Mentioned in topic(s): topic_PIMD, topic_TransPath
Variable type: integer
Dimensions: (nimage)
Default value: 1
*Comment: if imgmov in [2,5] (String Method, NEB), dynimage(1)=0 and dynimage(nimage)=0.
Added in version: before_v9
Test list (click to open). Moderately used, [13/1095] in all abinit tests, [2/151] in abinit tutorials
This input variable is relevant when sets of images are activated (see imgmov). Not all images might be required to evolve from one time step to the other. Indeed, in the String Method or the Nudged Elastic Band, one might impose that the extremal configurations of the string are fixed. In case dynimage (iimage)=0, the image with index “iimage” will be consider as fixed. Thus, there is no need to compute forces and stresses for this image at each time step. The purpose of defining extremal images is to make the input/output easier.
In order to save CPU time, the computation of properties of static images ( dynimage (iimage)=0) can be avoided: see istatimg keyword.
ecutsm¶
Mnemonics: Energy CUToff SMearing
Characteristics: ENERGY
Mentioned in topic(s): topic_Planewaves
Variable type: real
Dimensions: scalar
Default value: 0.0
Added in version: before_v9
Test list (click to open). Moderately used, [139/1095] in all abinit tests, [24/151] in abinit tutorials
 gpu: t04.abi …
 mpiio: t22.abi, t24.abi …
 paral: t08.abi, t08.abi, t08.abi …
 psml: t03.abi, t04.abi, t07.abi …
 seq: tsv6_121.abi, tsv6_122.abi, tsv6_123.abi …
 tutorespfn: telast_1.abi, telast_2.abi, telast_4.abi …
 tutorial: tbase3_4.abi, tbase4_1.abi, tbase4_2.abi …
 v1: t76.abi, t78.abi, t79.abi …
 v2: t44.abi, t96.abi, t97.abi …
 v3: t42.abi, t80.abi …
 v4: t02.abi, t20.abi, t42.abi …
 v5: t01.abi, t03.abi, t26.abi …
 v6: t22.abi, t24.abi, t25.abi …
 v67mbpt: t21.abi, t22.abi …
 v7: t10.abi, t32.abi, t50.abi …
 v8: t02.abi, t07.abi, t17.abi …
 v9: t15.abi, t16.abi, t50.abi …
 vdwxc: t10.abi …
 wannier90: t04.abi, t11.abi, t12.abi …
This input variable is important when performing relaxation of unit cell size and shape (nonzero optcell). Using a nonzero ecutsm , the total energy curves as a function of ecut, or acell, can be smoothed, keeping consistency with the stress (and automatically including the Pulay stress). The recommended value is 0.5 Ha. Actually, when optcell/=0, ABINIT requires ecutsm to be larger than zero. If you want to optimize cell shape and size without smoothing the total energy curve (a dangerous thing to do), use a very small ecutsm , on the order of one microHartree.
Technical information: See Appendix B of [Laflamme2016]. ecutsm allows one to define an effective kinetic energy for plane waves, close to, but lower than, the maximal kinetic energy ecut. For kinetic energies less than ecut ecutsm , nothing is modified, while between ecut ecutsm and ecut, the kinetic energy is multiplied by 1.0 / ( x^2(3+x6x^2+3x^3 )), where x = (ecut  kinetic_energy)/ ecutsm . Note that x^2(3+x6x^2+3x^3) is 0 at x=0, with vanishing derivative, and that at x=1, it is 1, with also vanishing derivative. If ecutsm is zero, the unmodified kinetic energy is used. ecutsm can be specified in Ha (the default), Ry, eV or Kelvin, since ecutsm has the ENERGY characteristics. (1 Ha = 27.2113845 eV). A few test for Silicon (diamond structure, 2 kpoints) have shown 0.5 Ha to be largely enough for ecut between 2Ha and 6Ha, to get smooth curves. It is likely that this value is OK as soon as ecut is larger than 4Ha.
friction¶
Mnemonics: internal FRICTION coefficient
Mentioned in topic(s): topic_MolecularDynamics
Variable type: real
Dimensions: scalar
Default value: 0.001
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the internal friction coefficient (atomic units) for Langevin dynamics (when ionmov = 9): fixed temperature simulations with random forces.
The equation of motion is: M_I \frac{d^2 R_I}{dt^2}= F_I  friction *M_I \frac{d R_I}{dt}  F_{random,I}, where F_{random,I} is a Gaussian random force with average zero and variance friction *2M_IkT. The atomic unit of friction is Hartree*Electronic mass*(atomic unit of Time)/Bohr^2. See [Chelikowsky2000] for additional information.
fxcartfactor¶
Mnemonics: Forces to (X) CARTesian coordinates FACTOR
Mentioned in topic(s): topic_TransPath, topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 1 (Bohr^2)/Hartree
Added in version: before_v9
Test list (click to open). Rarely used, [9/1095] in all abinit tests, [0/151] in abinit tutorials
The forces multiplied by fxcartfactor will be treated like difference in cartesian coordinates in the process of optimization. This is a simple preconditioner. TO BE UPDATED See (ionmov = 2 or 22, nonzero optcell). For example, the stopping criterion defined by tolmxf relates to these scaled stresses.
ga_algor¶
Mnemonics: Genetic Algorithm  ALGOrithm selection
Mentioned in topic(s): topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [0/1095] in all abinit tests, [0/151] in abinit tutorials
Choosing method to make the structure selection. Only the enthalpy is used now but we plan to include, energy, electronic band gap and alchemical potentials. Right now only value of 1 (enthalpy) works.
ga_fitness¶
Mnemonics: Genetic Algorithm FITNESS function selection
Mentioned in topic(s): topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t27.abi
Different methodologies to perform the roulettewheel selection of parents. Even though, the objective function is the crystalline enthalpy (H_i), the weight of the population elements to be chosen from in a roulettewheel selection can be given through different functions. We consider the following cases.
 F = H_i / Sum H_i
 F = exp((H_iH_min)) / Sum exp((H_iH_min))
 F = (1/n_i) / Sum (1/n_i). Where n_i is the position in the ordered list of enthalpies
ga_n_rules¶
Mnemonics: Genetic Algorithm Number of RULES
Mentioned in topic(s): topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t27.abi
Different genetic rules have been implemented and the user has the change to choose between any of them. Right now we have 4 rules. See ga_rules
ga_opt_percent¶
Mnemonics: Genetic Algorithm OPTimal PERCENT
Mentioned in topic(s): topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 0.2
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t27.abi
Percentage of the population that according to the fitness function passes to the following iteration.
ga_rules¶
Mnemonics: Genetic Algorithm RULES
Mentioned in topic(s): topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t27.abi
Different genetic rules have been implemented and the user has the change to choose between any of them. The chosen number of rules have been defined in ga_n_rules
Implemented rules are 1) crossover. Two parents are randomly chosen and two springs are mixed from the two by (a) choosing randomly (through Fitness function) two parents and then randomly rotating and shifting the coordinates withing that particular cell. (b) Slice every one of the unit cell of the parents along a random direction and creating the spring offs from the pieces of the two parents. 2) Vector flip mutation. From the coordinates from a given parent, a piece of it is inverted. 3) Random strain. A random anisotropic deformation is given to the unit cell. 4) Coordinates mutation of ¼ of the whole coordinates.
getcell¶
Mnemonics: GET CELL parameters from…
Mentioned in topic(s): topic_multidtset
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [4/1095] in all abinit tests, [1/151] in abinit tutorials
 gpu: t04.abi
 tutorespfn: telast_6.abi
 v1: t78.abi, t80.abi
This variable is typically used to chain the calculations, in the multi dataset mode (ndtset > 0), since it describes from which dataset the output acell and rprim are to be taken (implicitly also scalecart), as input of the present dataset. The cell parameters are EVOLVING variables, for which such a chain of calculations is useful. If 0, no previously computed values are used. If >0, the value must be the index of the dataset from which the cell data is to be used as input data. It must be the index of a dataset already computed in the SAME run. If equal to 1, the output data of the previous dataset must be taken, which is a frequently occurring case. However, if the first dataset is treated, 1 is equivalent to 0, since no dataset has been computed in the same run. If another negative number, it indicates the number of datasets to go backward to find the needed data (once again, going back beyond the first dataset is equivalent to using a null get variable).
getvel¶
Mnemonics: GET VEL from…
Mentioned in topic(s): topic_multidtset
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [0/1095] in all abinit tests, [0/151] in abinit tutorials
These variables are typically used to chain the calculations, in the multi dataset mode (ndtset > 0) since they describe from which dataset the corresponding output variables are to be taken, as input of the present dataset. The atomic positions and velocities are EVOLVING variables, for which such a chain of calculation is useful. Note that the use of getxcart and getxred differs when acell and rprim are different from one dataset to the other. If 0, no previously computed values are used. If >0, the integer should correspond to the index of the dataset from which the VEL data should be used. It must be the index of a dataset already computed in the SAME run. If equal to 1, the output data of the previous dataset is taken, which is a frequently occurring case. However, if the first dataset is treated, 1 is equivalent to 0, since no dataset has yet been computed in the same run. If another negative number, it indicates the number of datasets to go backward to find the needed data (once again, going back beyond the first dataset is equivalent to using a null get variable). Note: getxred and getxcart cannot be simultaneously nonzero for the same dataset. On the other hand the use of getvel with getxred is allowed, despite the different coordinate system.
getxcart¶
Mnemonics: GET XCART from…
Mentioned in topic(s): topic_multidtset
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [8/1095] in all abinit tests, [0/151] in abinit tutorials
These variables are typically used to chain the calculations, in the multi dataset mode (ndtset > 0) since they describe from which dataset the corresponding output variables are to be taken, as input of the present dataset. The atomic positions and velocities are EVOLVING variables, for which such a chain of calculation is useful. Note that the use of getxcart and getxred differs when acell and rprim are different from one dataset to the other. If 0, no previously computed values are used. If >0, the integer must correspond to the index of the dataset from which the data are to be used as input data. It must be the index of a dataset already computed in the SAME run. If equal to 1, the output data of the previous dataset must be taken, which is a frequently occurring case. However, if the first dataset is treated, 1 is equivalent to 0, since no dataset has yet been computed in the same run. If another negative number, it indicates the number of datasets to go backward to find the needed data (once again, going back beyond the first dataset is equivalent to using a null get variable). Note: getxred and getxcart cannot be simultaneously nonzero for the same dataset. On the other hand the use of getvel with getxred is allowed, despite the different coordinate system.
getxred¶
Mnemonics: GET XRED from…
Mentioned in topic(s): topic_multidtset
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Moderately used, [11/1095] in all abinit tests, [1/151] in abinit tutorials
These variables are typically used to chain the calculations, in the multi dataset mode (ndtset > 0) since they describe from which dataset the corresponding output variables are to be taken, as input of the present dataset. The atomic positions and velocities are EVOLVING variables, for which such a chain of calculation is useful. Note that the use of getxcart and getxred differs when acell and rprim are different from one dataset to the other. If 0, no use of previously computed values must occur. If >0, the integer must correspond to the index of the dataset from which the data are to be used as input data. It must be the index of a dataset already computed in the SAME run. If equal to 1, the output data of the previous dataset must be taken, which is a frequently occurring case. However, if the first dataset is treated, 1 is equivalent to 0, since no dataset has yet been computed in the same run. If another negative number, it indicates the number of datasets to go backward to find the needed data (once again, going back beyond the first dataset is equivalent to using a null get variable). Note: getxred and getxcart cannot be simultaneously nonzero for the same dataset. On the other hand the use of getvel with getxred is allowed, despite the different coordinate system.
goprecon¶
Mnemonics: Geometry Optimization PRECONditioner equations
Mentioned in topic(s): topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v5: t02.abi
Set the kind of preconditioner to be used for Geometry Optimization (Note: Under development now (2011.05.20))
 goprecon = 0: No preconditioner
 goprecon = [19]: Linear preconditioner
 goprecon = [1119]: Nonlinear preconditioner
goprecprm¶
Mnemonics: Geometry Optimization PREconditioner PaRaMeters equations
Mentioned in topic(s): topic_GeoOpt
Variable type: real
Dimensions: (3)
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v5: t02.abi
Set the parameters use by the preconditioner to be used for Geometry Optimization (Note: Under development now (2011.06.06))
hmcsst¶
Mnemonics: Hybrid Monte Carlo Strain Step Trajectory
Mentioned in topic(s): topic_MolecularDynamics
Variable type: integer
Dimensions: scalar
Default value: 0
Only relevant if: ionmov == 25
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v8: t34.abi
Number of strain teps per MC trial trajectory, for the Hybrid Monte Carlo algorithm ionmov=25.
hmctt¶
Mnemonics: Hybrid Monte Carlo Trial Trajectory
Mentioned in topic(s): topic_MolecularDynamics
Variable type: integer
Dimensions: scalar
Default value: 0
Only relevant if: ionmov == 25
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v8: t34.abi
Number of steps per MC trial trajectory, for the Hybrid Monte Carlo algorithm ionmov=25.
iatcon¶
Mnemonics: Indices of AToms in CONstraint equations
Characteristics: NO_MULTI, INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: (natcon,nconeq)
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the indices of the atoms appearing in each of the nconeq independent equations constraining the motion of atoms during structural optimization or molecular dynamics (see nconeq, natcon, and wtatcon). (Note: combined with wtatcon to give internal representation of the latter)
iatfix¶
Mnemonics: Indices of AToms that are FIXed
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: (natfix)
Default value: None
Only relevant if: natfix > 0
Added in version: before_v9
Test list (click to open). Moderately used, [32/1095] in all abinit tests, [6/151] in abinit tutorials
Give the index (in the range 1 to natom ) of each atom which is to be held fixed for structural optimization or molecular dynamics. The variable iatfix lists those fixed in the three directions, while the variables iatfixx, iatfixy, and iatfixz, allow to fix some atoms along x, y or z directions, or a combination of these.
WARNING: The implementation is inconsistent !! For ionmov ==1, the fixing of directions was done in cartesian coordinates, while for the other values of ionmov, it was done in reduced coordinates. Sorry for this.
There is no harm in fixing one atom in the three directions using iatfix , then fixing it again in other directions by mentioning it in iatfixx, iatfixy or iatfixz. The internal representation of these input data is done by the mean of one variable iatfix (3,natom), defined for each direction and each atom, being 0 if the atom is not fixed along the direction, and 1 if the atom is fixed along the direction. When some atoms are fixed along 1 or 2 directions, the use of symmetries is restricted to symmetry operations whose (3x3) matrices symrel are diagonal. If the atom manipulator is used, iatfix will be related to the preprocessed set of atoms, generated by the atom manipulator. The user must thus foresee the effect of this atom manipulator (see objarf).
iatfixx¶
Mnemonics: Indices of AToms that are FIXed along the X direction
Characteristics: INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: (natfixx)
Default value: None
Only relevant if: natfixx > 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Give the index (in the range 1 to natom ) of each atom which is to be held fixed ALONG THE X direction for structural optimization or molecular dynamics. The variable iatfix lists those fixed in the three directions, while the variables iatfixx , iatfixy, and iatfixz, allow to fix some atoms along x, y or z directions, or a combination of these. See the variable iatfix for more information.
iatfixy¶
Mnemonics: Indices of AToms that are FIXed along the Y direction
Characteristics: INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: (natfixy)
Default value: None
Only relevant if: natfixy > 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Give the index (in the range 1 to natom ) of each atom which is to be held fixed ALONG THE Y direction for structural optimization or molecular dynamics. The variable iatfix lists those fixed in the three directions, while the variables iatfixx, iatfixy , and iatfixz, allow to fix some atoms along x, y or z directions, or a combination of these. See the variable iatfix for more information.
iatfixz¶
Mnemonics: Indices of AToms that are FIXed along the Z direction
Characteristics: INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: (natfixz)
Default value: None
Only relevant if: natfixz > 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Give the index (in the range 1 to natom ) of each atom which is to be held fixed ALONG THE Z direction for structural optimization or molecular dynamics. The variable iatfix lists those fixed in the three directions, while the variables iatfixx, iatfixy, and iatfixz , allow to fix some atoms along x, y or z directions, or a combination of these. See the variable iatfix for more information.
imgmov¶
Mnemonics: IMaGe MOVEs
Mentioned in topic(s): topic_CrossingBarriers, topic_PIMD, topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Moderately used, [19/1095] in all abinit tests, [5/151] in abinit tutorials
 paral: t08.abi, t08.abi, t08.abi, t08.abi
 tutoparal: timages_03.abi, timages_04.abi, tpsic_01.abi, tpsic_02.abi, tpsic_03.abi
 v6: t21.abi, t24.abi, t25.abi, t26.abi, t27.abi, t29.abi
 v7: t08.abi
 v8: t05.abi, t20.abi
 v9: t22.abi
Control the collective changes of images (see nimage,npimage, dynimage, ntimimage, tolimg, istatimg, prtvolimg). Similar to ionmov in spirit, although here, a population of selfconsistent calculations for possibly different (evolving) geometries is managed, while with ionmov, only selfconsistent calculation for one (evolving) geometry is managed. In this respect the maximal number of time step for image propagation is ntimimage, corresponding to the input variable ntime of the single geometry case. Also, the stopping criterion is governed by tolimg, corresponding to the input variable toldfe of the single geometry case. The stopping condition is crude: the image propagation is stopped when the mean value (over dynamic images) of the absolute difference of total energy (previous and current time step) is less than tolimg.
Actually, there might be combinations of ionmov and imgmov in which the two mechanisms are at work. Usually, however, only one mechanism will be activated (so, usually, either ntimimage is bigger than one OR ntime is bigger than one). In order for the user to acquire a mental representation of the interplay between ionmov and imgmov , here is a F90 pseudocode presenting the interplay between the different abovementioned input variables, as well as with the parallelism (see input variable npimage).
do itimimage=1,ntimimage do iimage=1,nimage (possibly, parallelisation over images) do itime=1,ntime Compute the forces and stresses for image(iimage) Examine whether the stopping criterion defined by tolmxf is fulfilled Predict the next geometry for image(iimage) using ionmov enddo enddo Examine whether the stopping criterion defined by tolimg is fulfilled Predict the next geometries for all images using imgmov enddo
 = 0 → simply copy images from previous itimimage step.
 = 1 → move images according to Steepest Descent following the (scaled) forces, the scaling factor being fxcartfactor.
 = 2 → String Method for finding Minimal Energy Path (MEP) connecting two minima (see [Weinan2002]), or even two configurations that are not local minima; the algorithm variant can be selected with the string_algo keyword (Simplified String Method by default). The solver for the Ordinary Differential Equation (ODE) can be selected with mep_solver (steepestdescent by default). See also mep_mxstep keyword.
 = 3 → (tentatively, not yet coded) Metadynamics.
 = 4 → (tentatively, not yet coded) Genetic Algorithm.
 = 5 → Nudged Elastic Band (NEB) for finding Minimal Energy Path (MEP) connecting two minima; the algorithm variant can be selected with the neb_algo keyword (NEB+improved tangent by default). The solver for the Ordinary Differential Equation (ODE) can be selected with mep_solver (steepestdescent by default). The spring constant connecting images along the path is defined by neb_spring. See also mep_mxstep keyword.
 = 6 → Linear Combination of Constrained DFT Energies. The images can have different electronic structure (occ can differ), and their total energies are combined linearly using the factors in mixesimgf, giving the actual total energy of the ensemble of constrained DFT images. The geometry is the same for all images, forces and stresses are computed, and all usual algorithms for MD or geometry optimization are allowed, using ionmov (instead of imgmov , this is the exception to the rule) and related variables.
 = 9 or 13 → PathIntegral Molecular Dynamics (see e.g. [Marx1996]). Will use 9 for Langevin thermostat (associated friction coefficient given by vis) and 13 for NoseHoover thermostat chains (associated input variables are the number of thermostats in the chains, nnos, and the masses of these thermostats qmass). nimage is the Trotter number (no use of dynimage); possible transformations of coordinates are defined by pitransform; Fictitious masses of the atoms (possibly different from the true masses given by amu) can be specified by pimass. At present, it is only possible to perform calculations in the (N,V,T) ensemble (optcell = 0).
No meaning for RF calculations.
imgwfstor¶
Mnemonics: IMaGe WaveFunction STORage
Mentioned in topic(s): topic_CrossingBarriers, topic_PIMD, topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: 0
Only relevant if: extrapwf == 0 and ntimimage > 0
Added in version: before_v9
Test list (click to open). Rarely used, [6/1095] in all abinit tests, [3/151] in abinit tutorials
 tutoparal: tpsic_01.abi, tpsic_02.abi, tpsic_03.abi
 v8: t19.abi, t20.abi
 v9: t22.abi
Govern the storage of wavefunctions at the level of the loop over images, see ntimimage. Possible values of imgwfstor are 0 or 1. If imgwfstor is 1, the wavefunctions for each image are stored in a big array of size nimage more than the storage needed for one set of wavefunctions. When the specific computation (optimization/SCF cycle etc) for this image is started, the past wavefunctions are used, to speed up the computation. If imgwfstor ==0, the wavefunctions are reinitialised, either at random or from the initial wavefunction file (so, without any modification to take into account the computations at the previous value of itimimage.
If nimage is large, the increase of memory need can be problematic, unless the wavefunctions are spread over many processors, which happens when paral_kgb == 1. For some algorithms, e.g. when some geometry optimization is performed, imgmov==2 or 5, the gain in speed of choosing imgwfstor =1 can be quite large, e.g. two to four. For algorithms of the molecular dynamics type, imgmov==9 or 13, the expected gain is smaller. Of course, with adequate memory resources, imgwfstor ==1 should always be preferred.
ionmov¶
Mnemonics: IONic MOVEs
Mentioned in topic(s): topic_MolecularDynamics, topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Moderately used, [136/1095] in all abinit tests, [24/151] in abinit tutorials
 bigdft: t10.abi, t22.abi …
 builtin: testin_fast.abi, testin_etsf_io.abi …
 etsf_io: t00.abi, t09.abi, t21.abi …
 fast: t00.abi, t20.abi, t21.abi …
 gpu: t04.abi …
 libxc: t67.abi, t68.abi, t69.abi …
 mpiio: t21.abi, t22.abi, t24.abi …
 paral: t21.abi, t22.abi, t24.abi …
 psml: t03.abi, t04.abi, t07.abi …
 seq: tsv6_121.abi, tsv6_122.abi, tsv6_123.abi …
 tutoparal: timages_01.abi, timages_02.abi, tmoldyn_01.abi …
 tutorespfn: telast_1.abi, telast_6.abi, tffield_5.abi …
 tutorial: tbase1_3.abi, tbase2_1.abi, tbase2_2.abi …
 v1: t41.abi, t44.abi, t45.abi …
 v2: t44.abi, t48.abi, t49.abi …
 v3: t40.abi, t42.abi, t80.abi …
 v4: t01.abi, t04.abi, t05.abi …
 v5: t01.abi, t02.abi, t03.abi …
 v6: t22.abi, t23.abi, t30.abi …
 v7: t09.abi, t10.abi, t11.abi …
 v8: t02.abi, t12.abi, t17.abi …
 v9: t22.abi …
 vdwxc: t10.abi …
Choice of algorithm to control the displacements of ions, and possibly changes of cell shape and size (see optcell). No meaning for RF calculations.

0 → Do not move ions (default behaviour)

1 → Move atoms using molecular dynamics with optional viscous damping (friction linearly proportional to velocity). The viscous damping is controlled by the vis parameter. If undamped molecular dynamics is desired, set vis to 0. The implemented algorithm is the generalisation of the Numerov technique (6^{th} order), but is NOT invariant upon timereversal, so that the energy is not conserved. The value ionmov = 6 will usually be preferred, although the algorithm that is implemented is lowerorder. The time step is governed by dtion. Purpose: Molecular dynamics (if vis = 0), Structural optimization (if vis >0) Cell optimization: No (Use optcell = 0 only) Related variables: Viscous parameter vis, time step dtion, index of atoms fixed iatfix

2 → Conduct structural optimization using the BroydenFletcherGoldfarbShanno minimization (BFGS). This is much more efficient for structural optimization than viscous damping, when there are less than about 10 degrees of freedom to optimize. Another version of the BFGS is available with ionmov == 22, and is apparently more robust and efficient than ionmov == 2. Purpose: Structural optimization Cell optimization: Yes (if optcell/=0)

3 → Conduct structural optimization using the BroydenFletcherGoldfarbShanno minimization (BFGS), modified to take into account the total energy as well as the gradients (as in usual BFGS). See [Schlegel1982]. Might be better than ionmov = 2 for few degrees of freedom (less than 3 or 4). Can be very unstable  use with caution! Purpose: Structural optimization Cell optimization: Yes (if optcell/=0)

4 → Conjugate gradient algorithm for simultaneous optimization of potential and ionic degrees of freedom. It can be used with iscf = 2 and iscf =5 or 6 (WARNING: this is under development, and does not work very well in many cases). Purpose: Structural optimization Cell optimization: No (Use optcell = 0 only)

5 → Simple relaxation of ionic positions according to (converged) forces. Equivalent to ionmov = 1 with zero masses, albeit the relaxation coefficient is not vis, but iprcfc. Purpose: Structural optimization Cell optimization: No (Use optcell = 0 only)

6 → Molecular dynamics using the Verlet algorithm, see [Allen1987a] p 81]. The only related parameter is the time step (dtion). Purpose: Molecular dynamics Cell optimization: No (Use optcell = 0 only) Related variables: time step dtion, index of atoms fixed iatfix

7 → Quenched Molecular dynamics using the Verlet algorithm, and stopping each atom for which the scalar product of velocity and force is negative. The only related parameter is the time step (dtion). The goal is not to produce a realistic dynamics, but to go as fast as possible to the minimum. For this purpose, it is advised to set all the masses to the same value (for example, use the Carbon mass, i.e. set amu to 12 for all type of atoms). Purpose: Structural optimization Cell optimization: No (Use optcell = 0 only) Related variables: time step dtion, index of atoms fixed iatfix

8 → Molecular dynamics with NoseHoover thermostat, using the Verlet algorithm. Purpose: Molecular dynamics Cell optimization: No (Use optcell = 0 only) Related variables: time step (dtion), Temperatures (mdtemp), and thermostat mass (noseinert).

9 → Langevin molecular dynamics. Purpose: Molecular dynamics Cell optimization: No (Use optcell = 0 only) Related variables: time step (dtion), temperatures (mdtemp) and friction coefficient (friction).

10 → Delocalized internal coordinates with simple BFGS Purpose: Structural optimization Cell optimization: No (Use optcell = 0 only)

11 → Delocalized internal coordinates with BFGS using total energy Purpose: Structural optimization Cell optimization: No (Use optcell = 0 only)

12 → Isokinetic ensemble molecular dynamics. The equation of motion of the ions in contact with a thermostat are solved with the algorithm proposed in [Zhang1997], as worked out in [Minary2003]. The conservation of the kinetic energy is obtained within machine precision at each step. As in [Evans1983], when there is no fixing of atoms, the number of degrees of freedom in which the microscopic kinetic energy is hosted is 3*natom  4. Indeed, the total kinetic energy is constrained, which accounts for minus one degree of freedom (also mentioned in [Minary2003]), but also there are three degrees of freedom related to the total momentum in each direction, that cannot be counted as microscopic degrees of freedom, since the total momentum is also preserved (but this is not mentioned in [Minary2003]). When some atom is fixed in one or more direction, e.g. using natfix, natfixx, natfixy, or natfixz, the number of degrees of freedom is decreased accordingly, albeit taking into account that the total momentum is not preserved anymore (e.g. fixing the position of one atom gives 3*natom4, like in the nonfixed case). Purpose: Molecular dynamics Cell optimization: No (Use optcell = 0 only) Related variables: time step (dtion) and the first temperature in mdtemp in case the velocities vel are not initialized, or all initialized to zero.

13 → Isothermal/isenthalpic ensemble. The equation of motion of the ions in contact with a thermostat and a barostat are solved with the algorithm proposed in [Martyna1996]. If optcell=1 or 2, the mass of the barostat (bmass) must be given in addition. Purpose: Molecular dynamics Cell optimization: Yes (if optcell/=0) Related variables: The time step (dtion), the temperatures (mdtemp), the number of thermostats (nnos), and the masses of thermostats (qmass).

14 → Simple molecular dynamics with a symplectic algorithm proposed in [Blanes2002] (called SRKNa14] of the kind first published in [Yoshida1990]. This algorithm requires at least 14 evaluation of the forces (actually 15 are done within Abinit) per time step. At this cost it usually gives much better energy conservation than the verlet algorithm (ionmov 6) for a 30 times bigger value of dtion. Notice that the potential energy of the initial atomic configuration is never evaluated using this algorithm. Purpose: Molecular dynamics Cell optimization: No (Use optcell = 0 only)

15 → Fast inertial relaxation engine (FIRE) algorithm proposed by Erik Bitzek, Pekka Koskinen, Franz GÃ¤hler, Michael Moseler, and Peter Gumbsch in [Bitzek2006]. According to the authors, the efficiency of this method is nearly the same as Lbfgs (ionmov = 22). It is based on conventional molecular dynamics with additional velocity modifications and adaptive time steps. The initial time step is set with dtion. Note that the physical meaning and unit of dtion are different from the default ones. The purpose of this algorithm is relaxation, not molecular dynamics. dtion governs the ion position changes, but the cell parameter changes as well. The positions are in reduced coordinates instead of in cartesian coordinates. The suggested first guess of dtion is 0.03. Purpose: Relaxation Cell optimization: Yes (if optcell/=0) Related variables: The initial time step dtion

20 → Direct inversion of the iterative subspace. Given a starting point xred that is a vector of length 3*natom (reduced nuclei coordinates), and unit cell parameters (%rprimd) this routine uses the DIIS (direct inversion of the iterative subspace) to minimize the gradient (forces) on atoms. The preconditioning used to compute errors from gradients is using an inverse hessian matrix obtained by a BFGS algorithm. This method is known to converge to the nearest point where gradients vanish. This is efficient to refine positions around a saddle point for instance. Purpose: Structural optimization Cell optimization: No (Use optcell = 0 only) Related variables: DIIS memory diismemory

22 → Conduct structural optimization using the Limitedmemory BroydenFletcherGoldfarbShanno minimization (LBFGS) [Nocedal1980]. The routines are based on the original implementation by J. Nocedal available on netlib.org. This algorithm can be much better than the native implementation of BFGS in ABINIT (ionmov = 2) when one approaches convergence, perhaps because of better treatment of numerical details. Purpose: Structural optimization Cell optimization: Yes (if optcell/=0)

23 → Use of Learn on The Fly method (LOTF) for Molecular Dynamics. In the framework of isokinetic MD, the atomic forces and positions are computed by using LOTF interpolation. A SCF computation is performed only any lotf_nitex steps. The results of the SCF are used to compute the parameters of a short range classical potential (for the moment only the glue potential for gold is implemented). Then these parameters are continuously tuned to compute atomic trajectories. LOTF has to be enabled at configure time. If LOTF is not enabled and ionmov = 23, abinit will set automatically ionmov = 12. The LOTF cycle is divided in the following steps: a) Initialization (SFC at t=0) and computation of potential parameters. b) Extrapolation of the atomic forces and positions for lotf_nitex time step. To perform this extrapolation, the potential computed in a) is used (Verlet algorithm). c) SFC at t=lotf_nitex. Computation of the potential parameters. d) LOTF interpolation, linear interpolation of the potential parameters and computation of the atomic forces and positions between t=0 and t=lotf_nitex. Purpose: Molecular Dynamics Cell optimization: No (Use optcell = 0 only) Related variables: dtion, lotf_classic, lotf_nitex, lotf_nneigx, lotf_version.

24 → Simple constant energy molecular dynamics using the velocity Verlet symplectic algorithm (second order), see [Hairer2003]. The only related parameter is the time step (dtion). Purpose: Molecular dynamics Cell optimization: No (Use optcell = 0 only) Related variables: time step dtion

25 → Hybrid Monte Carlo sampling of the ionic positions at fixed temperature and unit cell geometry (NVT ensemble). The underlying molecular dynamics corresponds to ionmov = 24. The related parameters are the time step (dtion) and thermostat temperature (mdtemp). Within the HMC algorithm [Duane1987], the trial states are generated via short NVE trajectories (ten ionmov = 24 steps in current implementation). The initial momenta for each trial are randomly sampled from Boltzmann distribution, and the final trajectory state is either accepted or rejected based on the Metropolis criterion. Such strategy allows to simultaneously update all reduced coordinates, achieve higher acceptance ratio than classical Metropolis Monte Carlo and better sampling efficiency for shallow energy landscapes [Prokhorenko2018]. Purpose: Monte Carlo sampling Cell optimization: No (Use optcell = 0 only) Related variables: time step dtion, thermostat temperature mdtemp,

27 → TO BE DOCUMENTED

28 → Update atomic positions and unit cell parameters using the ipi clientserver protocol as described in [Kapil2019]. In this case, ABINIT (the client) sends total energies, forces and stress tensor to the server that sends back the new configuration (atomic positions and cell parameters) to the abinitio engine for further calculations. Note that the server is supposed to generate an input file that is consistent with the optimization/MD algorithm implemented by ABINIT. For instance, a server that wants to performs calculations with varying unit cells should set optcell > 0 in the initial input.
Note that, at present, this feature is mainly used to interface ABINIT with the ASE optimization routines. Moreover the user is responsible for creating an input file with tuned tolerances to prevent Abinit from exiting when internal convergence is reached. See examples available in the ASE documentation
Purpose: Structural optimization driver by the server (MD runs are not yet supported) Cell optimization: Yes (provide optcell > 0 in the initial input)
istatimg¶
Mnemonics: Integer governing the computation of STATic IMaGes
Mentioned in topic(s): topic_PIMD
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
This input variable is relevant when sets of images are activated (see imgmov). Not all images might be required to evolve from one time step to the other (seedynimage): these are static images. If istatimg = 0, the total energy of static images is not computed (but static images are used to make the dynamic images evolve). This can be useful to save CPU time. If istatimg = 1, the total energy of static images is computed.
mdtemp¶
Mnemonics: Molecular Dynamics TEMPeratures
Mentioned in topic(s): topic_PIMD, topic_MolecularDynamics
Variable type: real
Dimensions: (2)
Default value: [300, 300]
Added in version: before_v9
Test list (click to open). Moderately used, [12/1095] in all abinit tests, [1/151] in abinit tutorials
Give the initial and final temperature of the NoseHoover thermostat (ionmov = 8) and Langevin dynamics (ionmov = 9), in Kelvin. This temperature will change linearly from the initial temperature mdtemp(1) at itime=1 to the final temperature mdtemp(2) at the end of the ntime timesteps.
In the case of the isokinetic molecular dynamics (ionmov = 12), mdtemp(1) allows ABINIT to generate velocities (vel) to start the run if they are not provided by the user or if they all vanish. However mdtemp(2) is not used (even if it must be defined to please the parser). If some velocities are nonzero, mdtemp is not used, the kinetic energy computed from the velocities is kept constant during the run.
mdwall¶
Mnemonics: Molecular Dynamics WALL location
Mentioned in topic(s): topic_MolecularDynamics
Variable type: real
Dimensions: scalar
Default value: 10000.0
Comment: the walls are extremely far away
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v2: t87.abi
Gives the location (atomic units) of walls on which the atoms will bounce back when ionmov = 6, 7, 8 or 9. For each cartesian direction idir=1, 2 or 3, there is a pair of walls with coordinates xcart(idir)=wall and xcart(idir)=rprimd(idir,idir)+wall. Supposing the particle will cross the wall, its velocity normal to the wall is reversed, so that it bounces back. By default, given in Bohr atomic units (1 Bohr=0.5291772108 Angstroms), although Angstrom can be specified, if preferred, since mdwall has the LENGTH characteristics.
mep_mxstep¶
Mnemonics: Minimal Energy Path search: MaXimum allowed STEP size
Characteristics: LENGTH
Mentioned in topic(s): topic_TransPath
Variable type: real
Dimensions: scalar
Default value: 0.4 if imgmov == 5,
100.0 otherwise.
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Relevant only when imgmov = 1 (SteepestDescent), 2 (String Method) or 5 (Nudged Elastic Band). The optimizer used to solve the Ordinary Differential Equation (ODE) can be constrained with a maximum allowed step size for each image. By default this feature is only activated for Nudged Elastic Band (NEB) and the value is inspired by [Sheppard2008]. Note that the step size is defined for each image as step = SQRT[SUM(R_i dot R_i)] where the R_i are the positions of the atoms in the cell.
mep_solver¶
Mnemonics: Minimal Energy Path ordinary differential equation SOLVER
Mentioned in topic(s): topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Relevant only when imgmov = 2 (String Method) or 5 (Nudged Elastic Band). Gives the algorithm used to solve the Ordinary Differential Equation (ODE) when searching for a Minimal Energy Path (MEP). Possible values can be:

0 → SteepestDescent algorithm following the (scaled) forces, the scaling factor being fxcartfactor (forward Euler method). Compatible with all MEP search methods.

1 → Quickmin optimizer following the (scaled) forces, the scaling factor being fxcartfactor. The “quick minimizer” improves upon the steepestdescent method by accelerating the system in the direction of the forces. The velocity (of the image) is projected long the force and cancelled if antiparallel to it. Compatible only with Nudged Elastic Band (imgmov = 5). See [Sheppard2008].

2 → Local BroydenFletcherGoldfarbShanno (LBFGS) algorithm; each image along the band is minimized with a different instance of the BFGS optimizer. Compatible only with Nudged Elastic Band (imgmov = 5). See [Sheppard2008]. IN DEVELOPPMENT  NOT RELIABLE

3 → Global BroydenFletcherGoldfarbShanno (GLBFGS) algorithm; all images along the band are minimized with a single instance of the BFGS optimizer. Compatible only with Nudged Elastic Band (imgmov = 5). See [Sheppard2008]. IN DEVELOPPMENT  NOT RELIABLE

4 → Fourthorder RungeKutta method; the images along the band are moved every four steps (1 <=istep<=ntimimage) following the RungeKutta algorithm, the time step being fxcartfactor. Compatible only with Simplified String Method (imgmov = 2 and string_algo = 1 or 2). See [Weinan2007].
All of the optimizers can be constrained with a maximum allowed step size for each image; see mep_mxstep. This is by default the case of the Nudged Elastic Band (imgmov = 5).
mixesimgf¶
Mnemonics: MIXing Electronic Structure IMAGE Factors
Mentioned in topic(s): topic_CrossingBarriers
Variable type: real
Dimensions: (nimage)
Default value: None
Added in version: before_v9
Test list (click to open). Rarely used, [5/1095] in all abinit tests, [3/151] in abinit tutorials
 tutoparal: tpsic_01.abi, tpsic_02.abi, tpsic_03.abi
 v8: t20.abi
 v9: t22.abi
Used in the algorithm Linear Combination of Constrained DFT Energies, that is, when imgmov==6.
This array gives, for each one of the nimage images, the factor by which the total energies for systems with same geometry but different electronic structures (occupation numbers) are linearly combined. The sum of these factors must equal 1.
natcon¶
Mnemonics: Number of AToms in CONstraint equations
Characteristics: NO_MULTI, INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: (nconeq)
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the number of atoms appearing in each of the nconeq independent equations constraining the motion of atoms during structural optimization or molecular dynamics (see nconeq, iatcon, and wtatcon).
natfix¶
Mnemonics: Number of Atoms that are FIXed
Characteristics: INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: scalar
Default value: 0
Comment: (no atoms held fixed)
Added in version: before_v9
Test list (click to open). Moderately used, [33/1095] in all abinit tests, [6/151] in abinit tutorials
Gives the number of atoms (not to exceed natom) which are to be held fixed during a structural optimization or molecular dynamics. When natfix > 0, natfix entries should be provided in array iatfix .
natfixx¶
Mnemonics: Number of Atoms that are FIXed along the X direction
Characteristics: INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the number of atoms (not to exceed natom) which are to be held fixed along the X direction during a structural optimization or molecular dynamics. When natfixx > 0, natfixx entries should be provided in array iatfixx.
natfixy¶
Mnemonics: Number of Atoms that are FIXed along the Y direction
Characteristics: INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the number of atoms (not to exceed natom) which are to be held fixed along the Y direction during a structural optimization or molecular dynamics. When natfixy > 0, natfixy entries should be provided in array iatfixy
natfixz¶
Mnemonics: Number of Atoms that are FIXed along the Z direction
Characteristics: INPUT_ONLY
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the number of atoms (not to exceed natom) which are to be held fixed along the Z direction during a structural optimization or molecular dynamics. When natfixz > 0, natfixz entries should be provided in array iatfixz.
nconeq¶
Mnemonics: Number of CONstraint EQuations
Characteristics: NO_MULTI
Mentioned in topic(s): topic_GeoConstraints
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the number of independent equations constraining the motion of atoms during structural optimization or molecular dynamics (see natcon, iatcon, and wtatcon).
neb_algo¶
Mnemonics: Nudged Elastic Band ALGOrithm
Mentioned in topic(s): topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: 1
Only relevant if: imgmov == 5
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the variant of the NEB method used. Possible values can be:

0 → Original NEB method. See [Berne1998] pp. 385404

1 → NEB + improved tangent. The Improved Tangent Method builds on the NEB with an improved estimate of the tangent direction and a resulting change of the component of the spring force acting on the images. See [Henkelman2000]

2 → ClimbingImage NEB (CINEB). The CINEB method constitutes a small modification to the NEB method. Information about the shape of the MEP is retained, but a rigorous convergence to a saddle point is also obtained. By default the spring constants are variable (see neb_spring). As the image with the highest energy has to be identified, the calculation begins with several iterations of the standard NEB algorithm. The effective CINEB begins at the cineb_start iteration. See [Henkelman2000a]
Note that, in all cases, it is possible to define the value of the spring constant connecting images with neb_spring, keeping it constant or allowing it to vary between 2 values (to have higher resolution close to the saddle point).
neb_spring¶
Mnemonics: Nudged Elastic Band: SPRING constant
Mentioned in topic(s): topic_TransPath
Variable type: real
Dimensions: (2)
Default value: [0.02, 0.15] Hartree/Bohr^2 if neb_algo == 2,
[0.05, 0.05] Hartree/Bohr^2 otherwise.
Only relevant if: imgmov == 5
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t29.abi
Gives the minimal and maximal values (in Hartree/Bohr^2) of the spring constant connecting images for the NEB method. In the standard “Nudged Elastic Band” method, the spring constant is constant along the path, but, in order to have higher resolution close to the saddle point, it can be better to have stronger springs close to it. See [Henkelman2000a]
nimage¶
Mnemonics: Number of IMAGEs
Mentioned in topic(s): topic_PIMD, topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Moderately used, [22/1095] in all abinit tests, [5/151] in abinit tutorials
 paral: t08.abi, t08.abi, t08.abi …
 tutoparal: timages_03.abi, timages_04.abi, tpsic_01.abi …
 v6: t21.abi, t22.abi, t24.abi …
 v7: t08.abi …
 v8: t05.abi, t19.abi, t20.abi …
 v9: t22.abi …
Give the number of images (or replicas) of the system, for which the forces and stresses might be computed independently, in the context of string or NEB method, genetic algorithm, hyperdynamics, PathIntegral Molecular Dynamics, linear combination of images, pSIC, genetic algorithm, etc, depending on the value of imgmov). Related input variables: dynimage, npimage, ntimimage and prtvolimg. If nimage >1, the default choice for printing many files is set to zero, and the user might want to manually reestablish the printing, using, e.g. prtgsr, prtwf, prtebands, prteig, etc.
Images might differ by the position of atoms in the unit cell, their velocity, as well as by their cell geometry. The following input variables might be used to define the images:
 acell
 amu
 angdeg
 cellcharge
 dmatpawu
 jpawu
 mixalch
 occ
 rprim
 scalecart
 upawu
 vel
 vel_cell
 xcart
 xred
These input variables, nonmodified, will be used to define the image with index 1. For the image with the last index, the input file might specify the values of such input variables, appended with “_lastimg”, e.g.:
 acell_lastimg
 rprim_lastimg
 xcart_lastimg
 …
By default, these values will be interpolated linearly to define values for the other images, unless there exist specific values for some images, for which the string “last” has to be replaced by the index of the image, e.g. for the image number 4:
 acell_4img
 rprim_4img
 xcart_4img
 …
It is notably possible to specify the starting point and the end point of the path (of images), while specifying intermediate points.
It usually happen that the images do not have the same symmetries and space group. ABINIT has not been designed to use different set of symmetries for different images. ABINIT will use the symmetry and space group of the image number 2, that is expected to have a low number of symmetries. This might lead to erroneous calculations, in case some image has even less symmetry. By contrast, there is no problem if some other image has more symmetries than those of the second image.
nnos¶
Mnemonics: Number of NOSe masses
Mentioned in topic(s): topic_PIMD, topic_MolecularDynamics
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the number of thermostats in the chain of oscillators thermostats as proposed in [Martyna1996]. The thermostat chains can be used either to perform Molecular Dynamics (MD) (ionmov = 13) or to perform Path Integral Molecular Dynamics (PIMD) (imgmov = 13). The mass of these thermostats is given by qmass.
noseinert¶
Mnemonics: NOSE thermostat INERTia factor
Mentioned in topic(s): topic_MolecularDynamics
Variable type: real
Dimensions: scalar
Default value: 100000
Only relevant if: ionmov == 8
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v2: t87.abi
Give the inertia factor WT of the NoseHoover thermostat (when ionmov = 8), in atomic units of weight*length2, that is (electron mass)*(Bohr)2. The equations of motion are: MI d2RI/dt2= FI  dX/dt MI dRI/dt and WT d2X/dt2= Sum(I) MI (dRI/dt)2  3NkBT where I represent each nucleus, MI is the mass of each nucleus (see amu), RI is the coordinate of each nucleus (see xcart), dX/dt is a dynamical friction coefficient, and T is the temperature of the thermostat (see mdtemp).
ntime¶
Mnemonics: Number of TIME steps
Mentioned in topic(s): topic_MolecularDynamics, topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 0 if ionmvov == 0, set to 1000 if ionvmov != 0 and imgmov != 0 and the variable is not specified.
Added in version: before_v9
Test list (click to open). Moderately used, [141/1095] in all abinit tests, [21/151] in abinit tutorials
 bigdft: t10.abi, t22.abi …
 builtin: testin_fast.abi, testin_etsf_io.abi …
 etsf_io: t00.abi, t09.abi, t21.abi …
 fast: t00.abi, t02.abi, t20.abi …
 gpu: t04.abi …
 libxc: t67.abi, t68.abi, t69.abi …
 mpiio: t21.abi, t22.abi, t24.abi …
 paral: t21.abi, t22.abi, t24.abi …
 psml: t03.abi, t04.abi, t07.abi …
 seq: tsv6_121.abi, tsv6_122.abi, tsv6_123.abi …
 tutoparal: timages_01.abi, timages_02.abi, tmoldyn_01.abi …
 tutorespfn: telast_1.abi, telast_6.abi, tffield_5.abi …
 tutorial: tbase1_3.abi, tbase2_1.abi, tbase2_2.abi …
 v1: t44.abi, t45.abi, t46.abi …
 v2: t44.abi, t48.abi, t49.abi …
 v3: t01.abi, t40.abi, t42.abi …
 v4: t01.abi, t04.abi, t05.abi …
 v5: t01.abi, t02.abi, t03.abi …
 v6: t22.abi, t23.abi, t27.abi …
 v7: t09.abi, t10.abi, t11.abi …
 v8: t02.abi, t12.abi, t17.abi …
 vdwxc: t10.abi …
Gives the maximum number of molecular dynamics time steps or structural optimization steps to be done if ionmov is nonzero. Starting with Abinit9, ntime is automatically set to 1000 if ionmov is nonzero, ntimimage is zero and ntime is not specified in the input file. Users are encouraged to pass a timelimit to Abinit using the command line and the syntax:
abinit timelimit hours:minutes:seconds
so that the code will try to stop smoothly before the timelimit and produce the DEN and the WFK files that may be used to restart the calculation.
Note that at the present the option ionmov = 1 is initialized with four RungeKutta steps which costs some overhead in the startup. By contrast, the initialisation of other ionmov values is only one SCF call. Note that ntime is ignored if ionmov = 0.
ntimimage¶
Mnemonics: Number of TIME steps for IMAGE propagation
Mentioned in topic(s): topic_PIMD, topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Moderately used, [21/1095] in all abinit tests, [5/151] in abinit tutorials
 paral: t08.abi, t08.abi, t08.abi …
 tutoparal: timages_03.abi, timages_04.abi, tpsic_01.abi …
 v6: t21.abi, t24.abi, t25.abi …
 v7: t08.abi …
 v8: t05.abi, t19.abi, t20.abi …
 v9: t22.abi …
Gives the maximal number of molecular dynamics time steps or structural optimization steps to be done for the set of images, referred to as ‘image timesteps’. At each imagetimestep, all the images are propagated simultaneously, each according to the algorithm determined by imgmov and the usual accompanying input variables, and then the next positions and velocities for each image are determined from the set of results obtained for all images.
optcell¶
Mnemonics: OPTimize the CELL shape and dimensions
Mentioned in topic(s): topic_PIMD, topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Moderately used, [64/1095] in all abinit tests, [10/151] in abinit tutorials
 bigdft: t10.abi, t22.abi …
 builtin: testin_etsf_io.abi …
 etsf_io: t00.abi, t09.abi …
 gpu: t04.abi …
 mpiio: t22.abi, t24.abi …
 paral: t22.abi, t24.abi, t26.abi …
 psml: t03.abi, t04.abi, t07.abi …
 seq: tsv6_121.abi, tsv6_122.abi, tsv6_123.abi …
 tutoparal: timages_01.abi, timages_02.abi …
 tutorespfn: telast_1.abi, telast_6.abi, tffield_5.abi …
 tutorial: tbase3_4.abi, tbase4_1.abi, tbase4_2.abi …
 v1: t78.abi, t79.abi, t80.abi …
 v2: t44.abi …
 v3: t42.abi …
 v4: t01.abi, t04.abi, t05.abi …
 v5: t01.abi, t09.abi, t77.abi …
 v6: t27.abi, t30.abi …
 v7: t08.abi, t09.abi, t10.abi …
 v8: t34.abi …
 vdwxc: t10.abi …
Allows one to optimize the unit cell shape and dimensions, when ionmov >= 2 or 3. The configuration for which the stress almost vanishes is iteratively determined, by using the same algorithms as for the nuclei positions. May modify acell and/or rprim. The ionic positions are ALWAYS updated, according to the forces. A target stress tensor might be defined, see strtarget.
 optcell = 0: modify nuclear positions, since ionmov = 2 or 3, but no cell shape and dimension optimisation.
 optcell = 1: optimisation of volume only (do not modify rprim, and allow an homogeneous dilatation of the three components of acell)
 optcell = 2: full optimization of cell geometry (modify acell and rprim  normalize the vectors of rprim to generate the acell). This is the usual mode for cell shape and volume optimization. It takes into account the symmetry of the system, so that only the effectively relevant degrees of freedom are optimized.
 optcell = 3: constantvolume optimization of cell geometry (modify acell and rprim under constraint  normalize the vectors of rprim to generate the acell)
 optcell = 4, 5 or 6: optimize acell(1), acell(2), or acell(3), respectively (only works if the two other vectors are orthogonal to the optimized one, the latter being along its cartesian axis).
 optcell = 7, 8 or 9: optimize the cell geometry while keeping the first, second or third vector unchanged (only works if the two other vectors are orthogonal to the one left unchanged, the latter being along its cartesian axis).
A few details require attention when performing unit cell optimisation:
 one has to get rid of the discontinuities due to discrete changes of plane wave number with cell size, by using a suitable value of ecutsm;
 one has to allow for the possibility of a larger sphere of plane waves, by using dilatmx;
 one might have to adjust the scale of stresses to the scale of forces, by using strfact.
 if all the reduced coordinates of atoms are fixed by symmetry, one cannot use toldff to stop the SCF cycle. (Suggestion: use toldfe with a small value, like 1.0d10)
It is STRONGLY suggested first to optimize the ionic positions without cell shape and size optimization (optcell = 0), then start the cell shape and size optimization from the cell with relaxed ionic positions, possibly from the previous dataset, using getxred or getxcart. Presently (v3.1), one cannot restart (restartxf) a calculation with a nonzero optcell value from the (x,f) history of another run with a different non zero optcell value. There are still a few problems at that level.
pimass¶
Mnemonics: Path Integral fictitious MASSes
Mentioned in topic(s): topic_PIMD
Variable type: real
Dimensions: (ntypat)
Default value: ntypat
Only relevant if: imgmov = 9 or 13
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v7: t08.abi
Only relevant if imgmov = 9 or 13 (PathIntegral Molecular Dynamics). Gives the fictitious masses ( [Marx1996]) in atomic mass units for each kind of atom in cell. These masses are the inertial masses used in performing Path Integral Molecular Dynamics (PIMD), they are different from the true masses (amu) used to define the quantum spring that relates the different beads in PIMD. They can be chosen arbitrarily, but an appropriate choice will lead the different variables to move on the same time scale in order to optimize the sampling efficiency of the PIMD trajectory. If pitransform = 1 (normal mode transformation), or pitransform = 2 (staging transformation), pimass is automatically set to its optimal value.
pimd_constraint¶
Mnemonics: PathIntegral Molecular Dynamics: CONSTRAINT to be applied on a reaction coordinate
Mentioned in topic(s): topic_PIMD
Variable type: integer
Dimensions: scalar
Default value: 0
Only relevant if: imgmov = 9 or 13
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v8: t05.abi
Only relevant for PathIntegral Molecular Dynamics. Selects a constraint to be applied during the PIMD trajectory. The constraint is holonomic (it is a relation between the position variables). In practice, the total forces applied to the atomic positions are modified so as to respect the constraint.
To date, the available constraints are:
 0: no constraint
 1: “Blue Moon Ensemble” method. The constraint is a linear combination of the positions of atomic centroids (this linear combination is kept constant during the simulation). Sum[W_i * X_i] = constant The X_i are the coordinates of the atomic centroids. The weights W_i have to be specified with the wtatcon(3,natcon,nconeq), iatcon(natcon) and natcon input parameters (where nconeq is fixed to 1). More details on the implementation in [Komeiji2007].
pitransform¶
Mnemonics: Path Integral coordinate TRANSFORMation
Mentioned in topic(s): topic_PIMD
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
Only relevant if imgmov = 9 or 13 (PathIntegral Molecular Dynamics). Coordinate transformation used in the integration of the Path Integral Molecular Dynamics equations of motion. The transformation, with an appropriate choice of fictitious masses (pimass), is used to force the different modes to move on the same time scale, and thus optimize the efficiency of the statistical sampling in the corresponding statistical ensemble. Available with a Langevin thermostat (imgmov = 9) or with Nose Hoover chains (imgmov = 13). See [Tuckerman1996].
If equal to 0, no transformation is applied (primitive coordinates). If equal to 1, normal mode transformation (in that case, nimage must be absolutely EVEN). If equal to 2, staging transformation.
prtatlist¶
Mnemonics: PRinT by ATom LIST of ATom
Characteristics: NO_MULTI
Mentioned in topic(s): topic_printing, topic_Output
Variable type: integer
Dimensions: (natom)
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
This is an array of the numbers associated to the index atoms that the user want to print in the output or log files, this is useful when you have a large number of atoms and you are only interested to follow specific atoms, the numbers associated should be consistent with the list in xcart or xred. This input variable does not affect the contents of the “OUT.nc” or “HIST.nc”, those are NetCDF files containing the information about all the atoms.
qmass¶
Mnemonics: Q thermostat MASS
Mentioned in topic(s): topic_PIMD, topic_MolecularDynamics
Variable type: real
Dimensions: (nnos)
Default value: 10.0
*Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
This are the masses of the chains of nnos thermostats to be used when ionmov = 13 (Molecular Dynamics) or imgmov = 13 (Path Integral Molecular Dynamics).
If ionmov = 13 (Molecular Dynamics), this temperature control can be used with optcell =0, 1 (homogeneous cell deformation) or 2 (full cell deformation). If imgmov = 13 (Path Integral Molecular Dynamics), this temperature control can be used with optcell =0 (NVT ensemble) or 2 (fully flexible NPT ensemble). In that case, optcell = 2 is NOT USABLE yet.
random_atpos¶
Mnemonics: RANDOM ATomic POSitions
Mentioned in topic(s): topic_crystal, topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t27.abi
Control the inner coordinates, which can be generated randomly by using 4 different methods depending ont its value (0) if zero, no random generation and xred are taken as they have been introduced by the user (1) if one, particles are generated completely random within the unit cell. (2) if two, particles are generated randomly but the inner particle distance is always larger than a factor of the sum of the covalent bonds between the atoms (note: this is incompatible with the definition of alchemical mixing, in which ntypat differs from npsp)
restartxf¶
Mnemonics: RESTART from (X,F) history
Mentioned in topic(s): topic_PIMD, topic_MolecularDynamics, topic_GeoOpt
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Control the restart of a molecular dynamics or structural optimization job.
restartxf > 0 (Deprecated) : The code reads from the input WFK file, the previous history of atomic coordinates and corresponding forces, in order to continue the work done by the job that produced this wf file. If optcell /= 0, the history of acell and rprim variables is also taken into account. The code will take into consideration the whole history (if **restartxf = 1), or discard the few first (x,f) pairs, and begin only at the pair whose number corresponds to **restartxf. Works only for ionmov = 2 or 22 (Broyden) and when an input wavefunction file is specified, thanks to the appropriate values of irdwfk or getwfk.
NOTES: * The input WFK file must have been produced by a run that exited cleanly. It cannot be one of the temporary wf files that exist when a job crashed. * One cannot restart a calculation with a nonzero optcell value from the (x,f) history of another run with a different nonzero optcell value. Starting a nonzero optcell run from a zero optcell run should work. * Deprecated, the use of the new options (1 and 2) is preferred.
restartxf = 0 (Default): No restart procedure is enabled and the code will start a Molecular dynamics or structural optimization from scratch.
restartxf = 1 (New): Use the HIST.nc file to reconstruct a partial calculation. It will reconstruct the different configurations using the forces and the stresses stored in the HIST.nc file, instead of calling the SCF procedure. Using restartxf = 1 from the beginning is harmless. The only condition is to keep the input file the same in such a way that the same predictor is used and it will predict the same structure recorded in the HIST.nc file. This option will always compute extra ntime iterations independent of the number of iterations recovered previously.
restartxf = 2 (New): Read the HIST.nc file and select the atomic positions and cell parameters with the lowest energy. Forget all the history and start the calculation using those values. The original atomic coordinates and cell parameters are irrelevant in this case.
restartxf = 3 (New): Read ONLY the last required atomic positions and cell parameters in the HIST.nc file to restart the Molecular dynamics or structural optimization.
NOTES:
 You can use restartxf=1, 2 or 3 for all predictors that make no use of random numbers.
 You can use restartxf=1, 2 or 3 to restart a calculation that was not completed. The HIST.nc file is written on each iteration. So you always have something to recover from.
 You can take advantage of the appropriate values of irdwfk or getwfk to get a good wave function to continue your job.
signperm¶
Mnemonics: SIGN of PERMutation potential
Mentioned in topic(s): topic_MolecularDynamics
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [2/1095] in all abinit tests, [0/151] in abinit tutorials
+1 favors alternation of species 1 favors segregation
strfact¶
Mnemonics: STRess FACTor
Mentioned in topic(s): topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 100
Added in version: before_v9
Test list (click to open). Rarely used, [9/1095] in all abinit tests, [2/151] in abinit tutorials
 seq: tsv6_121.abi, tsv6_122.abi, tsv6_123.abi, tsv6_124.abi, tsv6_125.abi
 tutorespfn: telast_1.abi, telast_6.abi
 v1: t78.abi
 v5: t79.abi
The stresses multiplied by strfact will be treated like forces in the process of optimization (ionmov = 2 or 22, nonzero optcell). For example, the stopping criterion defined by tolmxf relates to these scaled stresses.
string_algo¶
Mnemonics: STRING method ALGOrithm
Mentioned in topic(s): topic_TransPath
Variable type: integer
Dimensions: scalar
Default value: 1
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v6: t24.abi
Relevant only when imgmov = 2 (String Method). Gives the variant of the String Method method used. Possible values can be:

0 → Original String Method. NOT YET IMPLEMENTED. See [Weinan2002]

1 → Simplified String Method with parametrization by equal arc length. Instead of using the normal force (wrt the band), the full force is used; the reparametrization is enforced by keeping the points of the string equally spaced. See [Weinan2007]

2 → Simplified String Method with parametrization by energyweighted arc length. A variant of the Simplified String Method (like 1); the reparametrization is done by using energyweight arclengths, giving a finer distribution near the saddle point. See [Weinan2007] and [Goodrow2009]
strprecon¶
Mnemonics: STRess PRECONditioner
Mentioned in topic(s): topic_ForcesStresses, topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 1.0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
This is a scaling factor to initialize the part of the Hessian related to the treatment of the stresses (optimisation of the unit cell). In case there is an instability, decrease the default value, e.g. set it to 0.1.
strtarget¶
Mnemonics: STRess TARGET
Mentioned in topic(s): topic_ForcesStresses, topic_GeoOpt
Variable type: real
Dimensions: (6)
Default value: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Define the target stress to be obtained by optimization of the cell. The components of the stress tensor must be stored according to: (1,1) →1; (2,2) → 2; (3,3) → 3; (2,3) → 4; (3,1) → 5; (1,2) →6. The conversion factor between Ha/Bohr**3 (the atomic unit for stress) and GPa is: 1 Ha/Bohr**3 = 29421.033 GPa. If a hydrostatic stress (so, a pressure P) is wanted, define strtarget as P P P 0 0 0 . Not used if optcell == 0.
tolimg¶
Mnemonics: TOLerance on the mean total energy for IMaGes
Characteristics: ENERGY
Mentioned in topic(s): topic_TransPath
Variable type: real
Dimensions: scalar
Default value: 5e05
Added in version: before_v9
Test list (click to open). Moderately used, [16/1095] in all abinit tests, [5/151] in abinit tutorials
 paral: t08.abi, t08.abi, t08.abi, t08.abi
 tutoparal: timages_03.abi, timages_04.abi, tpsic_01.abi, tpsic_02.abi, tpsic_03.abi
 v6: t21.abi, t24.abi, t25.abi, t26.abi, t29.abi
 v8: t20.abi
 v9: t22.abi
Sets a maximal absolute energy tolerance (in hartree, averaged over dynamic images) below which iterations on images (the one governed by the ntimimage input variable) will stop. This is to be used when trying to optimize a population of structures to their lowest energy configuration, taking into account the particular algorithm defined by imgmov A value of about 5.0d5 hartree or smaller is suggested (this corresponds to about 3.7d7 eV). No meaning for RF calculations.
tolmxde¶
Mnemonics: TOLerance on the MaXimal Difference in Energy
Characteristics: ENERGY
Mentioned in topic(s): topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 0.0
Added in version: before_v9
Test list (click to open). Rarely used, [1/1095] in all abinit tests, [0/151] in abinit tutorials
 v7: t15.abi
Sets a maximal difference in energy with respect to the two previous steps below which BFGS structural relaxation iterations will stop. A value of about 0.0005 eV/atom or smaller is suggested. In order to use tolmxde, you should explicitly set tolmxf to 0.0. No meaning for RF calculations.
tolmxf¶
Mnemonics: TOLerance on the MaXimal Force
Mentioned in topic(s): topic_GeoOpt
Variable type: real
Dimensions: scalar
Default value: 5e05
Added in version: before_v9
Test list (click to open). Moderately used, [93/1095] in all abinit tests, [18/151] in abinit tutorials
 bigdft: t22.abi …
 builtin: testin_fast.abi …
 fast: t00.abi, t02.abi, t03.abi …
 gpu: t04.abi …
 libxc: t67.abi, t68.abi, t69.abi …
 mpiio: t21.abi, t22.abi, t24.abi …
 paral: t21.abi, t22.abi, t24.abi …
 psml: t04.abi, t08.abi, t12.abi …
 seq: tsv6_121.abi, tsv6_122.abi, tsv6_123.abi …
 tutoparal: timages_01.abi, timages_02.abi, tpsic_01.abi …
 tutorespfn: telast_1.abi, telast_6.abi, tffield_5.abi …
 tutorial: tbase1_3.abi, tbase2_1.abi, tbase2_2.abi …
 v1: t41.abi, t44.abi, t45.abi …
 v2: t44.abi, t48.abi …
 v3: t40.abi, t42.abi, t80.abi …
 v5: t02.abi, t41.abi, t77.abi …
 v6: t22.abi, t23.abi, t61.abi …
 v7: t15.abi, t97.abi …
 v8: t17.abi, t19.abi, t31.abi …
 v9: t22.abi …
Sets a maximal absolute force tolerance (in hartree/Bohr) below which BFGS structural relaxation iterations will stop. Can also control tolerance on stresses, when optcell /=0, using the conversion factor strfact. This tolerance applies to any particular cartesian component of any atom, excluding fixed ones. See the parameter ionmov. This is to be used when trying to equilibrate a structure to its lowest energy configuration. A value of about 5.0d5 hartree/Bohr or smaller is suggested (this corresponds to about 2.5d3 eV/Angstrom). No meaning for RF calculations.
vel¶
Mnemonics: VELocity
Characteristics: EVOLVING
Mentioned in topic(s): topic_PIMD, topic_MolecularDynamics
Variable type: real
Dimensions: (3,natom)
Commentdims: It is represented internally as vel(3,natom,nimage)
Default value: 0
*Only relevant if: ionmov > 0
Added in version: before_v9
Test list (click to open). Moderately used, [99/1095] in all abinit tests, [15/151] in abinit tutorials
 bigdft: t01.abi, t02.abi, t03.abi …
 bigdft_paral: t01.abi, t01.abi, t02.abi …
 libxc: t13.abi, t44.abi, t67.abi …
 paral: t22.abi …
 seq: tsv2_81.abi …
 tutoparal: tdfpt_04.abi, tgswvl_1.abi, tgswvl_1.abi …
 tutorespfn: tdepes_1.abi, tdepes_2.abi, tdepes_3.abi …
 tutorial: tbase2_4.abi …
 v1: t08.abi, t28.abi, t31.abi …
 v2: t33.abi, t46.abi, t84.abi …
 v3: t19.abi, t53.abi, t87.abi …
 v4: t20.abi, t36.abi, t58.abi …
 v5: t03.abi, t06.abi, t14.abi …
 v6: t01.abi, t02.abi, t14.abi …
 v67mbpt: t09.abi, t11.abi, t15.abi …
 v7: t16.abi, t43.abi, t58.abi …
 v8: t03.abi, t12.abi, t22.abi …
 v9: t56.abi …
Gives the starting velocities of atoms, in cartesian coordinates, in Bohr/atomic time units (atomic time units given where dtion is described). For ionmov = 8 (Nose thermostat), if vel is not initialized, a random initial velocity giving the right kinetic energy will be generated. If the atom manipulator is used, vel will be related to the preprocessed set of atoms, generated by the atom manipulator. The user must thus foresee the effect of this atom manipulator (see objarf). Velocities evolve is ionmov == 1.
vel_cell¶
Mnemonics: VELocity of the CELL parameters
Characteristics: EVOLVING
Mentioned in topic(s): topic_PIMD
Variable type: real
Dimensions: (3,3)
Commentdims: It is represented internally as vel_cell(3,3,nimage)
Default value: 3
*Only relevant if: imgmov in [9,13] and optcell > 0
(PathIntegral Molecular Dynamics with NPT algorithm)
Added in version: before_v9
Test list (click to open). Rarely used, [0/1095] in all abinit tests, [0/151] in abinit tutorials
Irrelevant unless imgmov = 9 or 13 and optcell>0 (PathIntegral Molecular Dynamics with NPT algorithm). Gives the starting velocities of the dimensional cell parameters in Bohr/atomic time units (atomic time units given where dtion is described).
vis¶
Mnemonics: VIScosity
Mentioned in topic(s): topic_PIMD, topic_MolecularDynamics
Variable type: real
Dimensions: scalar
Default value: 100
Added in version: before_v9
Test list (click to open). Moderately used, [21/1095] in all abinit tests, [2/151] in abinit tutorials
The equation of motion is:
M I d 2 R I /dt 2 = F I  vis dR I /dt
The atomic unit of viscosity is hartree * (atomic time units)/Bohr 2. Units are not critical as this is a fictitious damping used to relax structures. A typical value for silicon is 400 with dtion of 350 and atomic mass 28 amu. Critical damping is most desirable and is found only by optimizing vis for a given situation.
In the case of PathIntegral Molecular Dynamics using the Langevin Thermostat (imgmov = 9), vis defines the friction coefficient, in atomic units. Typical value range is 0.000010.001.
wtatcon¶
Mnemonics: WeighTs for AToms in CONstraint equations
Characteristics: NO_MULTI
Mentioned in topic(s): topic_GeoConstraints
Variable type: real
Dimensions: (3,natcon,nconeq)
Default value: 0
Added in version: before_v9
Test list (click to open). Rarely used, [3/1095] in all abinit tests, [0/151] in abinit tutorials
Gives the weights determining how the motion of atoms is constrained during structural optimization or molecular dynamics (see nconeq, natcon, and iatcon). For each of the nconeq independent constraint equations, wtatcon is a 3*natcon array giving weights, W I, for the x, y, and z components of each of the atoms (labeled by I) in the list of indices iatcon. Prior to taking an atomic step, the calculated forces, F I, are replaced by projected forces, F’ I, which satisfy the set of constraint equations
Sum mu=x,y,z; I=1,natcon: W mu,I * F’ mu,I = 0 for each of the nconeq arrays W I.
Different types of motion constraints can be implemented this way. For example,
nconeq 1 natcon 2 iatcon 1 2 wtatcon 0 0 +1 0 0 1
could be used to constrain the relative height difference of two adsorbate atoms on a surface (assuming their masses are equal), since F’ z,1  F’ z,2 = 0 implies z 1  z 2 = constant.